Constraint-Based Synthesis of Datalog Programs
نویسندگان
چکیده
We study the problem of synthesizing recursive Datalog programs from examples. We propose a constraint-based synthesis approach that uses an smt solver to efficiently navigate the space of Datalog programs and their corresponding derivation trees. We demonstrate our technique’s ability to synthesize a range of graph-manipulating recursive programs from a small number of examples. In addition, we demonstrate our technique’s potential for use in automatic construction of program analyses from example programs and desired analysis output.
منابع مشابه
Approximating Constraint Propagation in Datalog
We present a technique exploiting Datalog with aggregates to improve the performance of programs with arithmetic (in)equalities. Our approach employs a source-to-source program transformation which approximates the propagation technique from Constraint Programming. The experimental evaluation of the approach shows good run time speedups on a range of non-recursive as well as recursive programs....
متن کاملDatalog on infinite structures
Datalog is the relational variant of logic programming and has become a standard query language in database theory. The (program) complexity of datalog in its main context so far, on finite databases, is well known to be in EXPTIME. We research the complexity of datalog on infinite databases, motivated by possible applications of datalog to infinite structures (e.g. linear orders) in temporal a...
متن کاملA Tabulation Algorithm for Clp Revised Report
Since its introduction in logic programming, tabulation has proven to a be powerful tool in many areas. The technique has been lifted to constraint extensions of Datalog and to constraint logic programming (CLP). In this abstract, we describe a new formulation of tabulation for CLP, directly designed towards an implementation on CLP systems. We illustrate the use of our algorithm by comparing t...
متن کاملOn Constraint Satisfaction Problems below P
Symmetric Datalog, a fragment of the logic programming language Datalog, is conjectured to capture all constraint satisfaction problems (CSP) in logarithmic space [10]. Therefore developing tools that help us understand whether or not a CSP can be defined in symmetric Datalog is an important task. A simple, well-known fact is that for any CSP, a fixed set of structures O (an obstruction set) ca...
متن کاملTabular Constraint-Satisfaction Problems and Answer Set Programming
We argue that database query languages can be used to specif’y constraint satisfaction problems. We describe one such language here. It is based on tuple relational calculus and its sentences are used to define constraints. For a fragment of this language we develop a front end, Constraint Lingo, to facilitate programming tasks. Finally, we show that programs in Constraint Lingo can be compiled...
متن کامل